close all; clear all; clc;
q = 10^(40/10);
T = 1e-3;%dlitelnost signala
fi=2e6;
fd=50e6;
Td=1/fd;
Tpn= 1e-3/5110;
PNsize=fix(T/Tpn);
PN=sign(randn(1,PNsize));
Nd=fix(T/Td);
t=(0:Nd-1)*Td;%ось времени
PSP=PN(1+mod(fix((0:Nd-1)*Td/Tpn),PNsize));%дальномерный код
figure
plot(t,PSP);

A = sqrt(4*q*Td);%требуемая амплитуда для достижение заданного SNR

S = PSP .* cos(2*pi*fi*t);
I=nan(1,1000);
for n=1:1000
    Y = A * S+ randn(1,Nd);

    I(n) = Y * S';
end

figure 
plot(I);

Q = 20*log10(mean(I)/std(I))-3;%SNR на выходе коррелятора

%% добавляем помеху
JS = 10^(60/10);
Aj = A * sqrt(JS);
y=Aj*cos(2*pi*(fi+0.1*fi)*t);
Sj=abs(fft(y));Sj=Sj/max(Sj);
plot(20*log10(Sj));

for n=1:1000
    Y = A * S+ randn(1,Nd)+y;

    I(n) = Y * S';
end

figure 
plot(I);

Q = 20*log10(mean(I)/std(I))-3;%SNR на выходе коррелятора


